<?php
    /*
Autor: Jonathan Vindas Abarca
Fecha: 23/08/2012
Descripción: Este archivo contiene la declaración de funciones para obtener datos de la tabla de precios de 
la base de datos SQL Server.
Bitacora de modificaciones:
<
    Autor: 
    Fecha: 
    Descripción: 
>
*/

    /*Funcion para agregar Precio*/
    function agregarPrecio($Embalaje,$Precio,$Localidad)
    {        
        require_once 'dataModelo.php';
        $conexion=conexion();
        //$insert="Insert into Precios (Embalaje,Precio,Localidad) values('$Embalaje','$Precio','$Localidad')";        
        $insert="exec SP001AgregarPrecio '$Embalaje','$Precio','$Localidad'";
        if (!odbc_exec($conexion,$insert))
        {
            die('Error: ' . odbc_error());
        }
        odbc_close($conexion);
    }
    
    /*Funcion para modificar precios*/
    function modificarPrecio($embalaje,$precio,$localidad)
    {
       require_once 'dataModelo.php';
       $conexion=conexion();
       //$update="update precios set Precio='".$precio."' where  Embalaje='".$embalaje."' and Localidad='".$localidad."'";
       $update="exec SP002ModificarPrecio '$embalaje','$precio','$localidad'";
       if (!odbc_exec($conexion,$update))
       {
            die('Error: ' . odbc_error());
       }
       odbc_close($conexion);
    }

    /*Función para Eliminar Precios*/
    function eliminarPrecioControlador($localidad,$Embalaje)
    {
        require_once 'dataModelo.php';
        $conexion=conexion();
        //$update="DELETE FROM Precios
        //WHERE Localidad = '".$localidad."'
        //AND Embalaje = '".$Embalaje."'";
        $update="exec SP003EliminarPrecioControlador '$Embalaje','$localidad'";
        if (!odbc_exec($conexion,$update))
        {
            die('Error: ' . odbc_error());
        }
        odbc_close($conexion);
    }
    
    /*Función para Buscar Todos los Precios*/
    function buscarTodosLosPrecios()
    {
        //require_once('FirePHPCore/FirePHP.class.php');
        //$firephp = FirePHP::getInstance(true);        
        require_once 'dataModelo.php';        
        $conexion=conexion();
        $select ="exec SP004BuscarTodosLosPrecios";
        $rs = odbc_exec($conexion,$select);
        /*$rs = odbc_exec($conexion, "select pr.Embalaje, pr.Precio, pr.localidad, loc.description ,em.tipo
        from axplus.dbo.precios pr
        inner join NumarProd.dbo.Dimensions loc
        on  loc.num = pr.localidad
        inner join axplus.dbo.embalajes em 
        on em.CodEmbalaje = pr.Embalaje 
        where  loc.dimensioncode='0' and loc.dataareaid='001'");*/
        //El parametro dataareaid puede ser un combo para escoger la lista de precios que se desea mostrar
        $items=Array();
        while (odbc_fetch_row($rs))
        {                
            $item['codigoEmbalaje']=odbc_result($rs,"Embalaje");
            $item['precio']=odbc_result($rs,"Precio");
            $item['codigoLocalidad']=odbc_result($rs,"Localidad");
            $item['nombreLocalidad']=odbc_result($rs,"Description");
            $item['nombreEmbalaje']=odbc_result($rs,"Tipo");                
            array_push($items,$item);
        }
        odbc_close($conexion);
        return $items;
    }

    /*Función para buscar Precios por embalajes y localidad*/
    function encontrarPrecio($embalaje,$localidad)
    {              
       require_once 'dataModelo.php';
       $conexion=conexion();
       $existe=0;       
       //si existe retorna 1 y si no existe hay que usar empty
       $select="exec SP005EncontrarPrecio '$embalaje','$localidad'";
       //$rs = odbc_exec($conexion,"SELECT Embalaje, Precio, Localidad FROM Precios where Embalaje='".$embalaje."' and Localidad='".$localidad. "'");       
       $rs = odbc_exec($conexion,$select);       
       $items=Array();
       if (!$conexion) 
       {           
           exit( "Error al conectar: " . $conexion);
       }
       else
       {           
           $existe=odbc_fetch_row($rs);             
       }       
       odbc_close($conexion);
       return $existe;
    }                    
    
    /*Funcion para para encontrar el precio unitario segun embalaje y localidad*/
    function buscarPrecioUnitario($codigoLocalidad, $codigoEmbalaje)
    {
        require_once 'dataModelo.php';        
        $conexion=conexion();
        $select = "exec SP006BuscarPrecioUnitario '$codigoEmbalaje','$codigoLocalidad'";
        $rs = odbc_exec($conexion, $select);
        //$rs = odbc_exec($conexion, "select Precio from precios where Embalaje='".$codigoEmbalaje."' and Localidad='".$codigoLocalidad."'");        
        $precio="";
        //$items=Array();
            while (odbc_fetch_row($rs)){                
                //$item['localidad']=odbc_result($rs,"BodegaRemitente");                
                $precio=odbc_result($rs,"Precio");                
                //array_push($items,$item);
            }
        odbc_close($conexion);
        return $precio;
    }
    
    /*Funcion para encontrar repetidos, retorna true si existe un registro con el mismo tipo de embalaje y localidad*/    
    function encontrarPrecioDuplicado($tipoEmbalaje, $localidad)
    {      
       require_once 'dataModelo.php';
       $conexion=conexion();
       $existe=false;
       $conexion=conexion();       
       //$rs = odbc_exec($conexion,  "select Embalaje, Localidad from precios where Embalaje='".$tipoEmbalaje."' and Localidad='".$localidad."'");       
       $select="exec SP007EncontrarPrecioDuplicado '$tipoEmbalaje','$localidad'";       
       $rs = odbc_exec($conexion,$select);       
       if (!$conexion) 
       {           
           exit( "Error al conectar: " . $conexion);
       }
       else
       {           
           $existe=odbc_fetch_row($rs);             
       }
       odbc_close($conexion);
       return $existe;
    }
?>
